package com.ponhu.ea2.goodsCenter.provider.biz;

import com.ponhu.ea2.dto.LogsForTableColumnsChangeDto;
import com.ponhu.ea2.dto.LogsForTextAddDto;
import com.ponhu.ea2.dto.OperatorDto;

import java.util.concurrent.CompletableFuture;

/**
 * 操作记录日志记录服务
 */
public interface OperationRecordLogsCoreService {

    /**
     * 表字段变动操作日志记录
     * @param tableColumnsChangeDto
     * @param <T> 变动对象
     * @return
     */
    public <T> boolean addTableColumnsChangeOperationRecordLogs(LogsForTableColumnsChangeDto<T> tableColumnsChangeDto);

    /**
     * 文本添加类型操作日志记录
     * @param textAddDto
     * @return
     */
    public boolean addTextAddOperationRecordLogs(LogsForTextAddDto textAddDto);

    <T> void operationRecordLogs(CompletableFuture<T> oldFuture, T newT, String typeMsg, OperatorDto operatorDto);

}
